<!doctype html>



  


<html class="theme-next pisces use-motion">
<head>
  <meta charset="UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>



<meta http-equiv="Cache-Control" content="no-transform" />
<meta http-equiv="Cache-Control" content="no-siteapp" />












  
  
  <link href="/vendors/fancybox/source/jquery.fancybox.css?v=2.1.5" rel="stylesheet" type="text/css" />




  
  
  
  

  
    
    
  

  

  

  

  

  
    
    
    <link href="//fonts.googleapis.com/css?family=Lato:300,300italic,400,400italic,700,700italic&subset=latin,latin-ext" rel="stylesheet" type="text/css">
  






<link href="/vendors/font-awesome/css/font-awesome.min.css?v=4.4.0" rel="stylesheet" type="text/css" />

<link href="/css/main.css?v=5.0.1" rel="stylesheet" type="text/css" />


  <meta name="keywords" content="王雨峰, 博客" />








  <link rel="shortcut icon" type="image/x-icon" href="/favicon.ico?v=5.0.1" />






<meta name="description" content="咱们上回说到了编程用的IDE，以及推荐VS2015的理由。
今日话题：

计算机专业到底学啥？

我也不是毕业多年的老专家，只是普通的学生之一，所以对「计算机专业学什么」这一问题，也只能是管中窥豹，如果有说的不妥当的，还请多见谅。我写出的是我一年的学习过程中思考的产物，没经历过的事情我就不瞎扯了。
##计算机专业的课程
「培养方案」是个挺有意思的东西，一般作为一张Excel表格存在。辅导员会发给大">
<meta property="og:type" content="article">
<meta property="og:title" content="计算机专业新生指南(之三)">
<meta property="og:url" content="http://wangyufeng.org/2015/09/09/programming-guide-for-freshman-3/index.html">
<meta property="og:site_name" content="王雨峰的博客">
<meta property="og:description" content="咱们上回说到了编程用的IDE，以及推荐VS2015的理由。
今日话题：

计算机专业到底学啥？

我也不是毕业多年的老专家，只是普通的学生之一，所以对「计算机专业学什么」这一问题，也只能是管中窥豹，如果有说的不妥当的，还请多见谅。我写出的是我一年的学习过程中思考的产物，没经历过的事情我就不瞎扯了。
##计算机专业的课程
「培养方案」是个挺有意思的东西，一般作为一张Excel表格存在。辅导员会发给大">
<meta property="og:updated_time" content="2015-09-09T10:25:52.000Z">
<meta name="twitter:card" content="summary">
<meta name="twitter:title" content="计算机专业新生指南(之三)">
<meta name="twitter:description" content="咱们上回说到了编程用的IDE，以及推荐VS2015的理由。
今日话题：

计算机专业到底学啥？

我也不是毕业多年的老专家，只是普通的学生之一，所以对「计算机专业学什么」这一问题，也只能是管中窥豹，如果有说的不妥当的，还请多见谅。我写出的是我一年的学习过程中思考的产物，没经历过的事情我就不瞎扯了。
##计算机专业的课程
「培养方案」是个挺有意思的东西，一般作为一张Excel表格存在。辅导员会发给大">



<script type="text/javascript" id="hexo.configuration">
  var NexT = window.NexT || {};
  var CONFIG = {
    scheme: 'Pisces',
    sidebar: {"position":"left","display":"post"},
    fancybox: true,
    motion: true,
    duoshuo: {
      userId: 0,
      author: '博主'
    }
  };
</script>




  <link rel="canonical" href="http://wangyufeng.org/2015/09/09/programming-guide-for-freshman-3/"/>

  <title> 计算机专业新生指南(之三) | 王雨峰的博客 </title>
</head>

<body itemscope itemtype="http://schema.org/WebPage" lang="zh-Hans">

  










  
  
    
  

  <div class="container one-collumn sidebar-position-left page-post-detail ">
    <div class="headband"></div>

    <header id="header" class="header" itemscope itemtype="http://schema.org/WPHeader">
      <div class="header-inner"><div class="site-meta ">
  

  <div class="custom-logo-site-title">
    <a href="/"  class="brand" rel="start">
      <span class="logo-line-before"><i></i></span>
      <span class="site-title">王雨峰的博客</span>
      <span class="logo-line-after"><i></i></span>
    </a>
  </div>
  <p class="site-subtitle">随便写点东西，为互联网贡献一些比特~</p>
</div>

<div class="site-nav-toggle">
  <button>
    <span class="btn-bar"></span>
    <span class="btn-bar"></span>
    <span class="btn-bar"></span>
  </button>
</div>

<nav class="site-nav">
  

  
    <ul id="menu" class="menu">
      
        
        <li class="menu-item menu-item-home">
          <a href="/" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-home"></i> <br />
            
            首页
          </a>
        </li>
      
        
        <li class="menu-item menu-item-about">
          <a href="/about" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-user"></i> <br />
            
            关于
          </a>
        </li>
      
        
        <li class="menu-item menu-item-archives">
          <a href="/archives" rel="section">
            
              <i class="menu-item-icon fa fa-fw fa-archive"></i> <br />
            
            归档
          </a>
        </li>
      

      
    </ul>
  

  
</nav>

 </div>
    </header>

    <main id="main" class="main">
      <div class="main-inner">
        <div class="content-wrap">
          <div id="content" class="content">
            

  <div id="posts" class="posts-expand">
    

  
  

  
  
  

  <article class="post post-type-normal " itemscope itemtype="http://schema.org/Article">

    
      <header class="post-header">

        
        
          <h1 class="post-title" itemprop="name headline">
            
            
              
                计算机专业新生指南(之三)
              
            
          </h1>
        

        <div class="post-meta">
          <span class="post-time">
            <span class="post-meta-item-icon">
              <i class="fa fa-calendar-o"></i>
            </span>
            <span class="post-meta-item-text">发表于</span>
            <time itemprop="dateCreated" datetime="2015-09-09T16:35:26+08:00" content="2015-09-09">
              2015-09-09
            </time>
          </span>

          

          
            
          

          

          
          

          
        </div>
      </header>
    


    <div class="post-body" itemprop="articleBody">

      
      

      
        <p>咱们上回说到了编程用的IDE，以及推荐VS2015的理由。</p>
<p>今日话题：</p>
<ul>
<li>计算机专业到底学啥？</li>
</ul>
<p>我也不是毕业多年的老专家，只是普通的学生之一，所以对「计算机专业学什么」这一问题，也只能是管中窥豹，如果有说的不妥当的，还请多见谅。我写出的是我一年的学习过程中思考的产物，没经历过的事情我就不瞎扯了。</p>
<p>##计算机专业的课程</p>
<p>「培养方案」是个挺有意思的东西，一般作为一张Excel表格存在。辅导员会发给大家。</p>
<p>这张「培养方案」列出了你大学四年需要上什么课，以及课的学分、性质、学分等等。如果想搞明白这门专业到底学啥，有个很简单的方法——把每一门课都在百度查一遍。也可以通过观察课程的学分多少，大致揣摩不同课程的重要程度。</p>
<p>计算机院同学今年的新同学们，如果是「计算机类」的话，也许没有完整四年的培养方案，不过和之前的培养方案都大同小异，虽然你们的总学时减少了，但计算机专业的核心课程是不会变的。可以找往年计算机科学与技术、信息安全或物联网专业的培养方案作为参考。</p>
<p>大家不用着急，虽然咱们都是计算机专业的学生，但专业的「核心课程」在大二下、大三上才开始密集展开，前一年半，学的都是些基础课程。我将这些基础性课程分类三类：</p>
<ul>
<li>通识的</li>
<li>偏数学的</li>
<li>偏计算机的</li>
</ul>
<p>####通识的<br>什么是通识课呢？英语、体育等。</p>
<p>英语建议好好学，请稳住英语水平过快下降的势头（三阶导数，233）。从功利的角度讲，早过四级没啥坏处。对于计算机专业，英语阅读能力也很重要。大一也许还不觉得，但当你深入专业的学习时，许多信息、资料都以英文形式存在、计算机上很多软件对中文的支持比较渣、在某种软件的官方查文档时也都是英文。</p>
<p>英语不用担心，我觉得有意识地稍微背背单词就好，保持对英语还算有点感觉。</p>
<p>关于体育，一本书的名字说明一切：《程序员健康指南》。各大网上书店有卖。</p>
<p>####偏数学的<br>作为一枚纯学渣，我本是没有资格讨论数学课的…权当我发出学渣的呼声吧。</p>
<p>我不清楚你们还学不学「线性代数」了，当时我们学线性代数，整个人都不太好了。正巧赶上我们那位老师，对我们清不清楚线性代数和计算机专业有什么关系一点也不在乎，第一节课撸起袖子就开始讲“行列式”了。所以我们都是在迷茫中度过的线性代数的学习。</p>
<p><strong>线性代数放在大一上学期很不合理。</strong>对计算机专业来说，这其实是一门重要的数学。别的我不清楚，只说在计算机图形学领域，满地都是线性代数。什么是图形学呢？比如如果大家对做游戏感兴趣的话，那就得和图形学打交道。</p>
<p>其实，每一门数学课都有它存在的意义，哪怕是无法直接应用在计算机专业中。比如「高等数学」，从功利的角度讲，学好微积分，对你的「大学物理」大有裨益。从情怀的角度讲，「高数」训练你的数学思维和能力，灵活咱们的大脑，好让咱们对将来复杂度更高的知识结构学起来更加轻松。【以上这段文字不代表个人内心的真实观点】</p>
<p>「离散数学」更是计算机专业的根基。我很感谢我们这学期的各门课程的老师，都对本门课程和计算机专业的关系进行了一定篇幅的介绍。</p>
<p>说句官话：这些数学课程所培养的抽象思维能力，决定了你在计算机专业学习者的队伍中的位次。某大青鸟这些机构，每年也能培养出许多许多的程序员。那你也许会问，既然他们出来就能拿万八千的工资，那我为何还要在大学读计算机呢？区别就在于基础性质的知识有无。这些知识也许我们终将遗忘，但思考的方式和习惯却能<strong>内化</strong>到我们的大脑中。那些培训班出来的人，所掌握的技能都是空中楼阁，一旦技术改朝换代，他们就将被替代。但技术无论怎样更迭，其核心的脉络都是不变的。在（核心知识的稳定性）这点上，大概计算机科学和其他任何理工科学科都差不多。</p>
<p>数学，如果你喜欢，那真是莫大的幸福。如果你不喜欢，也请好好做作业。事实证明，只要作业都做了，多多少少也能受到一定程度的训练。如果是完全凭期末突击的话，甚是可惜，这门课就真的是浪费掉了。如果某人脑袋还没那么灵，说不定就挂科了。</p>
<p>有句老话：学习数学和计算机专业的基础课程，就像是在修炼「内功」，内功强大了，什么招式学的都快，理解得也透彻。好比开车，谁也没要求开车上路的人一定要知道发动机、离合器等东西是怎样一回事，但是如果略对其原理有所了解，一定能更好地驾驭汽车。</p>
<p>[唉]，一声叹息。我一定要好好学数学【严肃脸】。</p>
<p>####偏计算机的<br>大一比如有C语言，C语言课程设计，Java语言；到了大二还有数电、数据结构与算法之类的。</p>
<p>简而言之，如果你用心学这些课，那自然会迈入一个更加广阔的世界。</p>
<p>如果你对这些课程没感觉，甚至抵触，也请一定要跟好进度。一种经常发生的情况是：遇到一个大的挫折，反复折腾也弄不好，于是就放弃了对这门课的学期热情。这很常见。请多跟身边的学霸交流，报好学霸大腿，暂且不论平时能有什么收获，到了期末也能让你好过很多。</p>
<p>学习编程的建议在系列之一已经提到过了，如果只强调两条，我想说的是</p>
<ul>
<li>多敲代码</li>
<li>多想</li>
</ul>
<p>把书上的代码手动打到键盘上，是学习编程的好方法。</p>
<p>C语言中有些东西比较抽象，比如「二维数组」（不重要），「指针」（重要）等。平时没事儿了多想想，慢慢地就理清楚了，如果只靠每周上课的那几个小时，也许会想不清楚。</p>
<p>另外还有个事儿，就是很多对计算机感兴趣的同学，很早就会接触到技术上的东西，能做出个软件/网页/游戏啥的。如果你是这样的人，那恭喜你。在我看来，能用计算机去创造什么东西的人，一定是享受这个过程的。如果你不是，看到了你身边的大神同学，请也别慌张，毕竟大家时间上的分配是不同的。咱们在大学里，时间相当充裕，用来学基础课的时间很多，不着急，闻道有先后而已。最低标准是跟紧课程标准，在搞定培养方案的要求后，再用自己的余力去探索计算机的世界。看书也好，做东西也好，都是收获。</p>
<hr>
<p>另外提一个有意思的事儿，计算机专业之所以能作为一个「专业」，其理论依据是ACM和IEEE/CS共同推出的《计算作为一门学科》的报告。其对「计算学科」的定义是：</p>
<blockquote>
<p>计算学科是对描述和变换信息的算法过程的系统研究，包括它的理论、分析、设计、有效性、实现和应用。</p>
</blockquote>
<p>虽然「计算学科」和「计算机专业」还是有所区别，毕竟咱们学习的内容中「工程」的东西更多一些，但是这个定义还是挺有意思的，大家感受下。</p>
<p>在咱们计算机院，不管是哪个专业，其核心的课程都可以用「计算机科学与技术」中的课程作为代表。「科学」就是科学的意思，「技术」可以类比工程。还有一句话也挺有意思：</p>
<blockquote>
<p>科学家研究已有的世界，工程师创造未来的世界。</p>
</blockquote>
<hr>
<p>题外话。另外我想说，学习计算机专业，并不意味着你就要成为「计算机科学家」、「IT从业者」、「码农」等等。学习计算机专业，就像很多其他专业一样，同样是一种手段，目的是让你感受美、幸福与平静。退一步讲，这也是我们生活在这发达的文明社会中的一种意义之一。然而有些理想是那么遥远，那本来是你的梦，然而当你反复跟别人讲述这梦时，你却慢慢遗忘了梦的本身，最终只记住了你对梦的描述。也没关系，「不忘初心」这句话对于我们来说不太适用，毕竟到了大学，三观难免一天一变呢。共勉吧，亲爱的朋友，祝我们学习顺利。</p>
<p>是以为系列之三。</p>
<p>下期咱们聊「如果我不喜欢计算机专业该怎么办？」</p>

      
    </div>

    <div>
      
        

      
    </div>

    <div>
      
        

      
    </div>

    <footer class="post-footer">
      

      
        <div class="post-nav">
          <div class="post-nav-next post-nav-item">
            
              <a href="/2015/09/07/programming-guide-for-freshman-2/" rel="next" title="计算机专业新生指南(之二)">
                <i class="fa fa-chevron-left"></i> 计算机专业新生指南(之二)
              </a>
            
          </div>

          <div class="post-nav-prev post-nav-item">
            
              <a href="/2015/09/10/原、反、补码学习笔记/" rel="prev" title="数制，原反补码，浮点数学习笔记">
                数制，原反补码，浮点数学习笔记 <i class="fa fa-chevron-right"></i>
              </a>
            
          </div>
        </div>
      

      
      
    </footer>
  </article>



    <div class="post-spread">
      
    </div>
  </div>


          </div>
          


          
  <div class="comments" id="comments">
    
  </div>


        </div>
        
          
  
  <div class="sidebar-toggle">
    <div class="sidebar-toggle-line-wrap">
      <span class="sidebar-toggle-line sidebar-toggle-line-first"></span>
      <span class="sidebar-toggle-line sidebar-toggle-line-middle"></span>
      <span class="sidebar-toggle-line sidebar-toggle-line-last"></span>
    </div>
  </div>

  <aside id="sidebar" class="sidebar">
    <div class="sidebar-inner">

      

      
        <ul class="sidebar-nav motion-element">
          <li class="sidebar-nav-toc sidebar-nav-active" data-target="post-toc-wrap" >
            文章目录
          </li>
          <li class="sidebar-nav-overview" data-target="site-overview">
            站点概览
          </li>
        </ul>
      

      <section class="site-overview sidebar-panel ">
        <div class="site-author motion-element" itemprop="author" itemscope itemtype="http://schema.org/Person">
          <img class="site-author-image" itemprop="image"
               src="/images/avatar.gif"
               alt="Alan" />
          <p class="site-author-name" itemprop="name">Alan</p>
          <p class="site-description motion-element" itemprop="description">Alan Wang's personal blog.</p>
        </div>
        <nav class="site-state motion-element">
          <div class="site-state-item site-state-posts">
            <a href="/archives">
              <span class="site-state-item-count">57</span>
              <span class="site-state-item-name">日志</span>
            </a>
          </div>

          
            <div class="site-state-item site-state-categories">
              
                <span class="site-state-item-count">9</span>
                <span class="site-state-item-name">分类</span>
              
            </div>
          

          
            <div class="site-state-item site-state-tags">
              
                <span class="site-state-item-count">4</span>
                <span class="site-state-item-name">标签</span>
              
            </div>
          

        </nav>

        

        <div class="links-of-author motion-element">
          
        </div>

        
        

        
        

      </section>

      
        <section class="post-toc-wrap motion-element sidebar-panel sidebar-panel-active">
          <div class="post-toc">
            
              
            
            
              <p class="post-toc-empty">此文章未包含目录</p>
            
          </div>
        </section>
      

    </div>
  </aside>


        
      </div>
    </main>

    <footer id="footer" class="footer">
      <div class="footer-inner">
        <div class="copyright" >
  
  &copy; 
  <span itemprop="copyrightYear">2016</span>
  <span class="with-love">
    <i class="fa fa-heart"></i>
  </span>
  <span class="author" itemprop="copyrightHolder">Alan</span>
</div>

<div class="powered-by">
  Powered by <a class="theme-link" href="https://hexo.io">Hexo</a> 
</div>

<div class="theme-info">
  主题 -
  <a class="theme-link" href="https://github.com/iissnan/hexo-theme-next">
    NexT.Pisces
  </a>
</div>

        

        
      </div>
    </footer>

    <div class="back-to-top">
      <i class="fa fa-arrow-up"></i>
    </div>
  </div>

  

<script type="text/javascript">
  if (Object.prototype.toString.call(window.Promise) !== '[object Function]') {
    window.Promise = null;
  }
</script>









  



  
  <script type="text/javascript" src="/vendors/jquery/index.js?v=2.1.3"></script>

  
  <script type="text/javascript" src="/vendors/fastclick/lib/fastclick.min.js?v=1.0.6"></script>

  
  <script type="text/javascript" src="/vendors/jquery_lazyload/jquery.lazyload.js?v=1.9.7"></script>

  
  <script type="text/javascript" src="/vendors/velocity/velocity.min.js?v=1.2.1"></script>

  
  <script type="text/javascript" src="/vendors/velocity/velocity.ui.min.js?v=1.2.1"></script>

  
  <script type="text/javascript" src="/vendors/fancybox/source/jquery.fancybox.pack.js?v=2.1.5"></script>


  


  <script type="text/javascript" src="/js/src/utils.js?v=5.0.1"></script>

  <script type="text/javascript" src="/js/src/motion.js?v=5.0.1"></script>



  
  


  <script type="text/javascript" src="/js/src/affix.js?v=5.0.1"></script>

  <script type="text/javascript" src="/js/src/schemes/pisces.js?v=5.0.1"></script>



  
  <script type="text/javascript" src="/js/src/scrollspy.js?v=5.0.1"></script>
<script type="text/javascript" src="/js/src/post-details.js?v=5.0.1"></script>



  


  <script type="text/javascript" src="/js/src/bootstrap.js?v=5.0.1"></script>



  



  




  
  

  

  

  

</body>
</html>
